$.prototype.uiValidation = function() {
    var rules = ["required", "number", "min-lengh", "max-lengh", "regex"];
    var raiseError = function(el, errortype) {
        var tag = el.parent();
        var error_flg = false;
        switch (errortype) {
        case "required":
            if(el.val() == "") {
                tag.attr("data-v-message", el.attr("data-v-name") + " chưa được nhập");
                error_flg = true;
            }
            break;
        case "numberic":
            if(isNaN(el.val())) {
                tag.attr("data-v-message", el.attr("data-v-name") + " không đúng");
                error_flg = true;
            }
            break;
        default:
            break;
        }
        if (error_flg) {
            tag.addClass("error");
        } else {
            tag.removeClass("error");
        }
        return error_flg;
    };
    return $(this).each(function() {
        var sefl = $(this);
        var rule = sefl.attr('data-valid-rule');
        rule = rule.split(" ");
        sefl.blur(function() {
            for(var i = 0; i < rule.length; i++) {
                if(raiseError(sefl, rule[i])) break;
            }
        });
    });
}
$(function() {
    $('.ui-validate').uiValidation();
});